Currently, there is no well defined, formalized and standardized process for naming the resources with which a system or application interacts. Instead, each application usually chooses its own method of naming resources. Moreover, naming resources and finding resources are considered still two different processes. Sometimes an application will use the name of a resource as a key to search for the resource against a pre-built resource index. This method works for that application only because other applications may not be aware of naming techniques used by other applications and there is no formal relationship between the key and the resource in question.
Another problem with resource naming is the difficulty for human operators to identify and locate resources. Some environments may assist an operator through a graphical user interface (GUI), which may hide the complexity of unique identification. However, this is not possible in environments that implement a command line interface (CLI), in which a user has to key in a resource name manually. Since applications often ensure uniqueness in resource naming by following algorithms based on statistics and random number generators, a resource key is often completely unrelated to the characteristics of the resource and impossible for a human operator to memorize or reconstruct based on resource characteristics.
Therefore, there is a need for a method of naming resources that makes resources easily identifiable across applications at runtime. In addition, there is a need for a method of naming resources which allows a human user and/or operator to identify and locate resources based on predictable characteristics.